Users can manipulate computing interfaces, such as by moving a pointer or scrolling a document, through inputs such as touch surfaces by using various gestures that map to the behavior that the user is trying to perform. Some touch algorithms have a notion of acceleration incorporated into interpreting touch gestures. For example, they may provide that speed may increase by some multiplicative or exponential factor as a user performs a gesture faster.
However, in existing approaches, the resultant behavior speed will eventually reach some maximum speed. For example, existing approaches may include a set maximum speed threshold. Alternatively, it may only be practical to perform the underlying touch input up to a certain speed or acceleration. For example if a user swipes a finger to select or scroll content, or does a pinch gesture to zoom in or out, generally the user will only be able to physically execute the gesture with a certain speed or acceleration before it becomes impractical to perform the gesture faster.
In certain existing approaches, behaviors may simulate properties such as momentum or deceleration. For example, if a user performs repeated swipe gestures, scrolling content may accelerate and proceed to continue scrolling at a constant velocity until a subsequent touch input stops the scrolling, or may continue scrolling in a manner where the scrolling gradually decelerates if there is no additional swiping to maintain the scrolling speed.